This page last changed on Jul 28, 2008 by rosspatterson.

Highlights of the CCNet 1.4 release

Email publisher enhancements

The Email Publisher has been significantly enhanced in this release. It is now possible to configure users to receive notification for all possible build results, and to configure build notifications for users who contribute modifications to a build. Support has been added to transform source control usernames to email addresses, making it possible in many cases to avoid updating the configuration when new source control users are added. Lastly, users who contribute modifications to a build that fails are now "sticky" - they continue to receive build-failure messages until the build succeeds.

CCTray enhancements

The CCTray monitor has been enhanced:

  • Support for some standard keyboard shortcuts.
  • Hide projects in CCTray without removing them from the CCTray configuration.
  • Make CCTray multi-monitor friendly.
  • Setting for CCTray AlwaysOnTop.
  • Allow "force build" from CCTray over HTTP connections.
  • Setting for specifying username to report when volunteering to fix the build.
  • Improved support for X10 device output via the CM11 (powerline) and CM17a (RF) adapters.
  • Improved settings dialogs. All settings except for balloon message texts can now be configured from the CCTray settings dialogs. This includes the CCTray status icons, a long-awaited capability for colorblind users.

Configuration file processing

CCNet now supports the ability to substitute parameters in the ccnet.config file, to included additional files, and to re-use chunks of the configuration repeatedly. The parameters are defined as XML in the configuration, and can include both simple text values and complex XML structures.

The configuration handler has been updated to take note of what files are included and to reload the configuration when any of them are changed.

The existing practice of using DTD entities for constant substitutions and for file inclusion still works, however the new facility is much more flexible.

See Configuration Preprocessor for more details.

Other improvements

  • This release adds support for Codice Software's PlasticSCM source control system. The CCNet team thanks RubĂ©n de Alba for getting the work started.
  • This release includes a ModificationHistory Publisher and a Modification History plugin for the dashboard, to show all the modifications of a project.
  • CCNet now provides more information when errors are detected in the configuration, and a new "-validate" option has been added to ccnet.exe to check if the configuration is valid.
  • The dashboard has been changed to indicate which step of the build process is currently running (see http://confluence.public.thoughtworks.org/display/CCNETCOMM/Viewing+build+progress+with+Nant+and+MSBuild for more details)
  • An RSS feed of builds is now available.
  • The dashboard has been changed to indicate more-clearly to the web browser how long it should cache the pages. This should drastically reduce the displaying of stale pages and the need to use the browser's refresh command.
  • CCNet has now an artifact cleanup publisher.

Upgrading to CCNet 1.4

There are no breaking changes in this release. Upgrading from release 1.3 is simply a matter of running the installer and restarting IIS and the CCNet service.

Upgrading from a version before 1.3?
See the release notes for the CCNet 1.3 release.
CCNet 1.3 was ported to .NET 2.0, and therefore it and all future releases require the .NET 2.0 Framework to be installed. When upgrading and installing over top of version 1.2.1 or earlier of CCNet, please ensure that the application configuration files (e.g., ccnet.exe.config) reference the .NET 2.0 runtime as the only supported runtime.

Release Notes - CruiseControl .NET - Version 1.4

This is a list of Jira Issues resolved by this release :

Bug

  • CCNET-192 - Modifications not detected by cvs provider
  • CCNET-213 - Changing non SCM properties in dashboard causes a complete delete/re-create of the project
  • CCNET-383 - Schedule trigger is buggy?
  • CCNET-495 - RemoteProjectLabeller not always getting the latest label
  • CCNET-648 - Filtered Sourcecontrol gives a "Specified cast is not valid" error if filters contain invalid xml nodes
  • CCNET-815 - Task timeout does not stop the build
  • CCNET-881 - Using VSS and filter source control blocks together with long VSS path names can cause "illegal character" exceptions and prevent builds.
  • CCNET-899 - Bug in CC.NET dashboard last build label column
  • CCNET-903 - Problem with russian chars in ccnet.log (Solution)
  • CCNET-926 - The format of the file 'ThoughtWorks.CruiseControl.WebDashboard' is invalid
  • CCNET-928 - LastSuccessfulIntegrationLabel lags behind by one build, so dependent projects using stateFileLabeller are building with the wrong label
  • CCNET-936 - XslTransformer requires XslSettings.EnableScript to allow various .xsl web reports
  • CCNET-945 - Whitespaces in Project Name cause MSBuild Error MSB1008
  • CCNET-948 - Build labels for CCTray are out of sync with those for the executables
  • CCNET-953 - MSBuild.xsl: DTD not allowed
  • CCNET-959 - CCNet crashes and is subsequently completely disabled and also loses all build history when the server runs out of disk space
  • CCNET-960 - SVN fails if local working copies are not present
  • CCNET-967 - SVN Block fails if checkout folders not present!
  • CCNET-969 - CCNETxxx environment variables are not set before calling DevEnv
  • CCNET-972 - CCTray reports weird next build check times
  • CCNET-976 - A failure in <prebuild> task fails should stop the build : no tasks executed from prebuild and tasks section
  • CCNET-981 - "System.ArgumentNullException: Value cannot be null." from System.IO.Path.Combine()
  • CCNET-983 - ModificationHistory Report - Toggle not working in Firefox, Safari, etc.
  • CCNET-993 - specifying a not existing path in the state section results in a reflector error
  • CCNET-997 - MSBuild Integration Properties Quotation Issue
  • CCNET-1013 - No email sent to users contributing modifications when the build gets an exception
  • CCNET-1019 - DevEnv task misinterprets spaces in project path
  • CCNET-1034 - updown control in cctray not working + showing incorrect value
  • CCNET-1036 - System.ArgumentException: Invalid value '0' for parameter 'interval'.
  • CCNET-1058 - AccuRev source control GetSource() should update to exactly the revision detected by GetModifications(), if possible.
  • CCNET-1064 - CCTray download should only claim "multiple choices" when there are multiple choices.
  • CCNET-1066 - AccuRev should get the basis stream name using the current IntegrationResult, not the previous. The previous IntegrationResult does not have an artifactDirectory name if this is the first time the project has been built.
  • CCNET-1067 - Typo in parameter name
  • CCNET-1070 - User friendly message when someone tries to view statistics when it has not been collected yet, instead of showing a stacktrace
  • CCNET-1075 - Unable to kill processes on Windows 2000
  • CCNET-1077 - CCNet source distribution doesn't include the tools needed to build CCNet
  • CCNET-1080 - URL generated by RSS link may be incorrect
  • CCNET-1098 - CCNet should create working and artifacts dirs if they don't exist.
  • CCNET-1100 - StatisticGraph.xls referenced in dashboard.config is missing
  • CCNET-1103 - CCTray displays unhandled exception dialog when server is killed.
  • CCNET-1117 - VSS user names can include spaces and need to be enquoted
  • CCNET-1120 - Sometimes there is an error on deleting listenfile
  • CCNET-1122 - Extra </a> in RecentBuilds template causes invalid HTML
  • CCNET-1128 - ArtifactCleanUpTask: System.ArgumentNullException due to missing parameter
  • CCNET-1129 - Artifacts clean up task fails if xml logger is not before the clean up task
  • CCNET-1130 - Custom dashboard plugins not loading
  • CCNET-1143 - The IntegrationProperty CCNetFailureUsers is not converted to a string correctly
  • CCNET-1145 - MsBuild Task doesn't report timeout errors
  • CCNET-1148 - ThoughtWorks.CruiseControl.Core.Util.MatchPath throws ArgumentOutOfRangeException on empty "str" parameter
  • CCNET-1152 - CCNetFailureUser format seems to be failing with MSBuild error MSB1006
  • CCNET-1168 - configuration preprocessor include directive doesn't handle paths with spaces in it
  • CCNET-1183 - CC modifying my perforce client spec
  • CCNET-1184 - PVCS support doesn't work for accounts with no password
  • CCNET-1189 - Problem with CruiseControl and French version of Visual Source Safe
  • CCNET-1190 - Configuration preprocessor include directive does not expand defined constants in href="$(foo)"

Improvement

  • CCNET-282 - Better CVS logging for failure
  • CCNET-442 - Break dependency of Dashboard on Publishers
  • CCNET-532 - Faster feedback on forced build
  • CCNET-571 - CCTray: adding invalid servers to the configuration screen
  • CCNET-640 - File Source Control directory should be relative to project working directory
  • CCNET-729 - Start and end time for FilterTrigger should be optional and default to min time and max time respectively
  • CCNET-730 - Add the machine name as a column in the CCTray UI
  • CCNET-887 - Client-side caching of the large build reports could greatly improve performance
  • CCNET-900 - Make CCtray multi-monitor friendly.
  • CCNET-902 - Date labeller format should pad with zeros. Ex: 2007.04.05 not 2007.4.5
  • CCNET-949 - Document the FileLabeller
  • CCNET-950 - FileLabeller usage changes
  • CCNET-956 - Patch to allow CCNET to pass user defined environment variables to executable tsks
  • CCNET-957 - Create a 'Fixed' notification type for the email publisher
  • CCNET-970 - Support for some standard keyboard shortcuts
  • CCNET-973 - Hide projects in CCTray without removing them from configuration
  • CCNET-977 - FileLabeller should be more forgiving about file contents
  • CCNET-978 - <exec> task should transform the process' output to valid XML for build log
  • CCNET-980 - New Subversion Project and New Working Directory
  • CCNET-982 - Dashboard "download CCTray" only expects one file.
  • CCNET-986 - Improve filter on dashboard so that warnings do not get shown as errors
  • CCNET-989 - email publisher should foresee a modificationtype for the comitters for a build
  • CCNET-990 - email publisher should foresee a mechanism for converting the modifying user name to an email adres
  • CCNET-991 - CCTray won't tell you what level it is
  • CCNET-995 - Provide more information when wrong settings are detected
  • CCNET-999 - Modification logger shoud provide some filtering
  • CCNET-1006 - After Pressing the delete button in the config screen of cctray, the focus should stay on the projects
  • CCNET-1008 - CCTray should have setting for specifying username fixing the build
  • CCNET-1010 - improve standard statistics report page
  • CCNET-1017 - CCTray window should "Show in Taskbar"
  • CCNET-1021 - ForceBuildPublisher should allow you to enter a name like you can for triggers
  • CCNET-1044 - property support in config file, to replace/enhance xml DTD entities
  • CCNET-1045 - time rendered on dashboard pages to improve debuggine
  • CCNET-1046 - Email publisher ignores IntegrationStatus.Exception
  • CCNET-1049 - foresee a UseSSL attribute on the email publisher
  • CCNET-1059 - updated the errormessage for the ModificationHistoryProjectPlugin to the correct publisher name
  • CCNET-1060 - improved the errormessage when wrong settings are detected (update of CCNET-995)
  • CCNET-1061 - clean up dummy test folder after test execcution
  • CCNET-1062 - fixed a typo in the statistics.xsl page
  • CCNET-1068 - The devenv task should include Visual Studio's standard error stream in the build results as "error" messages.
  • CCNET-1069 - Smash the mammoth, monolithic CCTrayMultiSettingsForm up in to smaller pieces.
  • CCNET-1071 - Moved Statistics Results handling to StatisticsResults.
  • CCNET-1078 - Make the listenerfile name more unique so that projects having the same artifact folder do not clash
  • CCNET-1079 - CCTray: Add a dialog to configure custom icons
  • CCNET-1081 - IntervalTrigger - Added initialIntervalSeconds.
  • CCNET-1085 - Allow you to specify which version of Visual Studio is used if multiple versions are installed without having to know the executable path.
  • CCNET-1089 - Add CCNet version to dashboard HTTP responses
  • CCNET-1090 - Support for multiple "success" exit codes
  • CCNET-1093 - Add unittests on artifact cleanup task
  • CCNET-1094 - incorporate Eden Ridgway's graphs into CCNet
  • CCNET-1097 - The ccservice should write its details to the log just like the console-runner does to the console.
  • CCNET-1111 - default configuration of Console builder can use colors to better show the information on screen
  • CCNET-1112 - improve building stage visibility in the webdashboard
  • CCNET-1127 - Add a DTD declaraction to SiteTemplate.vm
  • CCNET-1144 - CCNEt should not use files for visualising the build stage, external tools may do so
  • CCNET-1147 - Filtered source control should explain its decisions
  • CCNET-1149 - Standard inclusion of ThoughtWorks.CruiseControl.MSBuild.dll makes CCNet work with MSBuild out of the box
  • CCNET-1150 - Initial listener file should use times in 24 format
  • CCNET-1155 - Improve colors of MSBuild report in Dashboard
  • CCNET-1156 - Standard inclusion of compile-msbuild.xsl in the buildReportBuildPlugin so that CCNET will report MSBuild errors on the project page out of the box
  • CCNET-1157 - Improve colors of compile-msbuild and fix the it so it shows warnings
  • CCNET-1158 - Show Getting source in build progress
  • CCNET-1177 - Add a -debugger option to ccnet.exe to make it easier to debug CCNET

New Feature

  • CCNET-158 - Ability to tell where in the build process you are.
  • CCNET-179 - Support other source control providers via generic provider
  • CCNET-235 - Allow builds to be killed remotely
  • CCNET-318 - Automatically resolve email address from source control user name
  • CCNET-384 - Implement ChangeHistory plugin for CCDashboard
  • CCNET-412 - RSS Feed
  • CCNET-601 - CCTray should support driving of X10 based hardware (to enable use of Lava Lamps etc)
  • CCNET-625 - Provide more detailed feedback from build during build process
  • CCNET-784 - Email Publisher Enhancements
  • CCNET-805 - Add a new FilteredSourceControl block for specific comments / labels
  • CCNET-890 - Email notification only on success
  • CCNET-901 - Abort running Build Processes
  • CCNET-906 - CCtray always ontop
  • CCNET-913 - stop and start projects via CCTray
  • CCNET-918 - Plastic SCM Integration
  • CCNET-963 - Dashboard should generate xml report for single project
  • CCNET-992 - CCNet should clean up the artifacts folder according to some settings
  • CCNET-1011 - Format number part in DefaultLabeller
  • CCNET-1022 - CCNet needs a tool to validate a ccnet.config file
  • CCNET-1033 - CCTray should have an option to use speech to announce build status changes
  • CCNET-1039 - devenv task should support Visual Studio 2008

Task

  • CCNET-434 - Add installation documentation for CCTray
  • CCNET-759 - Add NUnit.Framework to the lib folder and reference it from there
  • CCNET-958 - Not able to build project from CCTray
Document generated by Confluence on Mar 14, 2009 02:55